#ifndef __IOC_PLUGIN_REG_H
#define __IOC_PLUGIN_REG_H

#include "mgr.h"
#include "ssc.h"
#include "post.h"

#define PLUGIN_MAP(REG)   \
    REG("ssc", SSC)       \
    REG("post", Post)     \


inline void register_all_plugins()
{
    PluginMgr *mgr = PluginMgr::Instance();

#define REG(key, cls) \
    mgr->Register<cls>(key);
    PLUGIN_MAP(REG)
#undef REG
}

#endif
